#include "no.h"

No::No() {
}

No::No(pair<int, int> p, int c, int _x, int _y) {
	caminho.push_back(p);
	custo = c;
	x = _x;
	y = _y;
}

No::~No() {
}

void No::add(pair<int, int> p, int c, int _x, int _y) {
	caminho.push_back(p);
	custo = c;
	x = _x;
	y = _y;
}


bool No::naLista(pair<int, int> p) {
	bool ta = false;
	for (unsigned int i = 0; i < caminho.size(); i++) {
//		cout << "     " << caminho[i].first << ", " << caminho[i].second <<
//		", " << p.first << ", " << p.second << endl;
		if (caminho[i] == p) {
			ta = true;
			break;
		}
	}
	return ta;
}

void No::escreveCaminho(vector< vector<int> > m) {
	for (unsigned int i = 0; i < caminho.size(); i++) {
		cout << " -> " << m[caminho[i].first][caminho[i].second];
//		cout << " -> " << caminho[i].first << ", " << caminho[i].second <<
//			" (" << m[caminho[i].first][caminho[i].second] << ")";
	}
//	cout << endl;
}

void No::escreve(vector< vector<int> > m) {
//	cout << "coordenadas: " << x << ", " << y << endl;
	escreveCaminho(m);
	cout << "  custo: " << custo << endl;
}
